package com.ssy.lingxi.product.api.model.request.price;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * 物料价格库 - 订单价格信息封装类
 * @author lxc
 * @date 2022/4/2
 * @version 2.0.0
 */
public class OrderPriceRequest implements Serializable {

    /**
     * 物料信息
     */
    @NotEmpty(message = "物料信息不能为空")
    private List<MaterielPriceRequest> materielPrices;

    /**
     * 订单编号
     */
    @NotBlank(message = "订单编号不能为空")
    private String contractNo;

    /**
     * 订单生效时间
     */
    @NotNull(message = "订单生效时间不能为空")
    private Long startTime;

    /**
     * 订单失效时间
     */
    @NotNull(message = "订单失效时间不能为空")
    private Long endTime;

    /**
     * 甲方会员名称
     */
    @NotBlank(message = "甲方会员名称不能为空")
    private String partyAName;

    /**
     * 甲方会员id
     */
    @NotNull(message = "甲方会员id不能为空")
    private Long partyAMemberId;

    /**
     * 甲方角色id
     */
    @NotNull(message = "甲方角色id不能为空")
    private Long partyARoleId;

    /**
     * 乙方会员名称
     */
    @NotBlank(message = "乙方会员名称不能为空")
    private String partyBName;

    /**
     * 乙方会员id
     */
    @NotNull(message = "乙方会员id不能为空")
    private Long partyBMemberId;

    /**
     * 乙方角色id
     */
    @NotNull(message = "乙方角色id不能为空")
    private Long partyBRoleId;

    public List<MaterielPriceRequest> getMaterielPrices() {
        return materielPrices;
    }

    public void setMaterielPrices(List<MaterielPriceRequest> materielPrices) {
        this.materielPrices = materielPrices;
    }

    public String getContractNo() {
        return contractNo;
    }

    public void setContractNo(String contractNo) {
        this.contractNo = contractNo;
    }

    public Long getStartTime() {
        return startTime;
    }

    public void setStartTime(Long startTime) {
        this.startTime = startTime;
    }

    public Long getEndTime() {
        return endTime;
    }

    public void setEndTime(Long endTime) {
        this.endTime = endTime;
    }

    public String getPartyBName() {
        return partyBName;
    }

    public void setPartyBName(String partyBName) {
        this.partyBName = partyBName;
    }

    public Long getPartyBMemberId() {
        return partyBMemberId;
    }

    public void setPartyBMemberId(Long partyBMemberId) {
        this.partyBMemberId = partyBMemberId;
    }

    public Long getPartyBRoleId() {
        return partyBRoleId;
    }

    public void setPartyBRoleId(Long partyBRoleId) {
        this.partyBRoleId = partyBRoleId;
    }

    public String getPartyAName() {
        return partyAName;
    }

    public void setPartyAName(String partyAName) {
        this.partyAName = partyAName;
    }

    public Long getPartyAMemberId() {
        return partyAMemberId;
    }

    public void setPartyAMemberId(Long partyAMemberId) {
        this.partyAMemberId = partyAMemberId;
    }

    public Long getPartyARoleId() {
        return partyARoleId;
    }

    public void setPartyARoleId(Long partyARoleId) {
        this.partyARoleId = partyARoleId;
    }
}
